
package com.jf.cloud.service.sysmanager.remote;

import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.jf.cloud.service.sysmanager.common.util.DateUtil;
import com.jf.cloud.service.sysmanager.common.util.StringUtil;
import com.jf.cloud.service.sysmanager.common.util.qnImg.UplodImg;
import com.jf.cloud.service.sysmanager.constant.ImagePath;
import com.jf.cloud.service.sysmanager.entity.SysStaff;
import com.jf.cloud.service.sysmanager.support.entity.Result;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.http.HttpRequest;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import com.jf.cloud.service.sysmanager.common.base.AjaxPageData;
import com.jf.cloud.service.sysmanager.common.base.OPaging;
import com.jf.cloud.service.sysmanager.dao.IPubgBaseAfficheService;
import com.jf.cloud.service.sysmanager.entity.PubgBaseAffiche;
import com.jf.cloud.service.sysmanager.support.web.BaseController;

/**
 * 公告控制器
 *
 * @author 绝峰代码机1.0 创建时间：2018-03-31
 */
@Controller
@RequestMapping("/pubgBaseAffiche")
public class PubgBaseAfficheController extends BaseController {

	/**
	 * 日志
	 */
	private static Log log = LogFactory.getLog(PubgBaseAfficheController.class);

	/**
	 * 公告服务
	 */
	@Resource
	private IPubgBaseAfficheService pubgBaseAfficheService;

	/**
	 * 获取公告列表数据
	 *
	 * @author 高冬冬 创建时间：2017年12月14日
	 */
	@ResponseBody
	@RequestMapping("/getBaseAfficheList")
	public AjaxPageData<PubgBaseAffiche> getBaseAfficheList(HttpServletRequest request, OPaging<PubgBaseAffiche> page){
		AjaxPageData<PubgBaseAffiche> pageData = new AjaxPageData<PubgBaseAffiche>();
		try {
			page.getWm().put("DEL_FLAG",0);
			pageData = getAjaxPageData(pubgBaseAfficheService.findPage(page));
		} catch (Exception e) {
			log.error("获取公告列表数据出错了" , e);
			request.setAttribute("msg", "获取公告列表数据出错了");
		}
		return pageData;
	}

	/**
	 * 获取公告信息
	 *
	 * @author 高冬冬 创建时间：2017年12月15日
	 */
	@ResponseBody
	@RequestMapping("/getBaseAfficheInfo")
	public PubgBaseAffiche getBaseAfficheInfo(Long rowId, HttpRequest request){
		PubgBaseAffiche pubgBaseAffiche = new PubgBaseAffiche();
		try {
			// 修改公告信息时
			if (rowId != null && rowId.longValue() > 0) {
				pubgBaseAffiche = pubgBaseAfficheService.findByPK(rowId);
			}
		} catch (Exception e) {
			log.error("获取公告信息出错！", e);
		}
		return pubgBaseAffiche;
	}

	/**
	 * 添加公告
	 *
	 * @author 高冬冬 创建时间：2017年12月15日
	 */
	@ResponseBody
	@RequestMapping("/save")
	public String saveBaseAffiche(HttpServletRequest request, HttpServletResponse response, PubgBaseAffiche pubgBaseAffiche){
		Result<PubgBaseAffiche> result = new Result<PubgBaseAffiche>();
		result.setCode(-1);
		result.setMessage("添加公告出错了");
		try{
			SysStaff user = getLoginUser(request);
			if (user == null) {
				result.setCode(-2);
				return result.toString();
			}
			if ("1".equals(request.getParameter("isReCommit"))) {
				result.setMessage("请勿重复提交！");
				return result.toString();
			}

			if (Long.valueOf(0).equals(pubgBaseAffiche.getRowId())) {
				pubgBaseAffiche.setRowId(null);
			}

			String	path = UplodImg.up(request, ImagePath.T_AFFICHE_PIC, "Filedata", response);
			if (StringUtil.isNotEmpty(path)) {
				if (!StringUtil.isImg(path)) {
					result.setMessage("上传文件只能为图片！");
					return result.toString();
				} else {
					pubgBaseAffiche.setImgPath(path);
				}
			}

			pubgBaseAffiche.setDelFlag(0);
			pubgBaseAffiche.setCreateId(user.getRowId());
			pubgBaseAffiche.setCreateAccount(user.getStaffAccount());
			pubgBaseAffiche.setCreateTime(DateUtil.getCurrentDateTime());
			pubgBaseAffiche.setOptId(user.getRowId());
			pubgBaseAffiche.setOptAccount(user.getStaffAccount());
			pubgBaseAffiche.setOptTime(DateUtil.getCurrentDateTime());
			pubgBaseAfficheService.saveOrUpdatePubgBaseAffiche(pubgBaseAffiche);
			result.setCode(0);
			result.setMessage("添加公告成功！");
		} catch (Exception e) {
			log.error("添加公告出错了", e);
			return result.toString();
		}
		return result.toString();
	}

	/**
	 * 修改公告
	 *
	 * @author 高冬冬 创建时间：2017年12月15日
	 */
	@ResponseBody
	@RequestMapping("/update")
	public String updateBaseAffiche(HttpServletRequest request, HttpServletResponse response, PubgBaseAffiche pubgBaseAffiche) {
		Result<PubgBaseAffiche> result = new Result<PubgBaseAffiche>();
		result.setCode(-1);
		result.setMessage("修改公告出错了");
		try{
			SysStaff user = getLoginUser(request);
			if (user == null) {
				result.setCode(-2);
				return result.toString();
			}
			if ("1".equals(request.getParameter("isReCommit"))) {
				result.setMessage("请勿重复提交！");
				return result.toString();
			}

			if (pubgBaseAffiche.getOrderByNo() == null || pubgBaseAffiche.getOrderByNo().intValue() == 0 ) {
				result.setMessage("请输入排序编号！");
				return result.toString();
			}

			String	path = UplodImg.up(request, ImagePath.T_AFFICHE_PIC, "Filedata", response);
			if (StringUtil.isNotEmpty(path)) {
				if (!StringUtil.isImg(path)) {
					result.setMessage("上传文件只能为图片！");
					return result.toString();
				} else {
					pubgBaseAffiche.setImgPath(path);
				}
			}

			pubgBaseAffiche.setOptId(user.getRowId());
			pubgBaseAffiche.setOptAccount(user.getStaffAccount());
			pubgBaseAffiche.setOptTime(DateUtil.getCurrentDateTime());
            pubgBaseAfficheService.updatePubgBaseAffiche(pubgBaseAffiche);
			result.setCode(1);
            result.setMessage("修改公告成功！");
		} catch (Exception e) {
			log.error("修改公告出错了", e);
			return result.toString();
		}
		return result.toString();
	}

	/**
	 * 删除公告（更新标记）
	 *
	 * @author 高冬冬 创建时间：2017年12月15日
	 */
	@ResponseBody
	@RequestMapping("/delete")
	public String deleteBaseAffiche(HttpServletRequest request, Long rowId, Integer fbFlag) {
		String result = "index";
		try {
			// 验证登录状态
            SysStaff user = getLoginUser(request);
			if (user == null) {
				return result;
			}
			if (fbFlag == 1) {
				return "3";
			}
			// 默认更新失败
			result = "2";
            PubgBaseAffiche pubgBaseAffiche = new PubgBaseAffiche();
            pubgBaseAffiche.setRowId(rowId);
            pubgBaseAffiche.setDelFlag(1);
            pubgBaseAffiche.setOptId(user.getRowId());
            pubgBaseAffiche.setOptAccount(user.getStaffAccount());
            pubgBaseAffiche.setOptTime(DateUtil.getCurrentDateTime());
            pubgBaseAfficheService.updatePubgBaseAffiche(pubgBaseAffiche);
            result = "1";
		} catch (Exception e) {
			log.error("删除公告出错了", e);
		}
		return result;
	}

	/**
	 * 修改公告发布状态
	 *
	 * @author 高冬冬 创建时间：2017年12月20日
	 */
	@ResponseBody
	@RequestMapping("/updateFbFlag")
	public String updateFbFlag(HttpServletRequest request, Long rowId, Integer fbFlag) {
		String result = "-2";
		try {
			if (rowId == null || fbFlag == null) {
				return "2";
			}
			// 验证登录状态
            SysStaff user = getLoginUser(request);
			if (user == null) {
				return result;
			}
			// 默认更新失败
			result = "2";
            PubgBaseAffiche pubgBaseAffiche = new PubgBaseAffiche();
            pubgBaseAffiche.setRowId(rowId);
            pubgBaseAffiche.setFbFlag(fbFlag);
            pubgBaseAffiche.setOptId(user.getRowId());
            pubgBaseAffiche.setOptAccount(user.getStaffAccount());
            pubgBaseAffiche.setOptTime(DateUtil.getCurrentDateTime());
            pubgBaseAfficheService.updatePubgBaseAffiche(pubgBaseAffiche);
            result = "1";
		} catch (Exception e) {
			log.error("修改公告发布状态出错了", e);
		}
		return result;
	}

}
